package com.etung.iot.demo.boxConfig;

import com.fasterxml.jackson.databind.PropertyNamingStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.util.List;
import java.util.Map;

@Data
@Accessors(chain = true)
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
@ApiModel(value = "设备信息配置")
public class Device {
    @ApiModelProperty(notes = "设备ID")
    private Integer deviceId;
    @ApiModelProperty(notes = "设备名称")
    private String name;
    @ApiModelProperty(notes = "LAN口设备最大位组包寄存器个数")
    private Integer bitMax;
    @ApiModelProperty(notes = "LAN口设备最大字组包寄存器个数")
    private Integer wordMax;
    @ApiModelProperty(notes = "LAN口设备失败重试次数")
    private Integer retryTimes;
    @ApiModelProperty(notes = "LAN口设备间隔时间")
    private Integer interval;
    @ApiModelProperty(notes = "LAN口设备尝试恢复间隔")
    private Integer recoveryInterval;
    @ApiModelProperty(notes = "LAN口设备通讯超时时间")
    private Integer timeout;
    @ApiModelProperty(notes = "LAN口设备IP")
    private String ip;
    @ApiModelProperty(notes = "LAN口设备端口")
    private Integer port;
    @ApiModelProperty(notes = "LAN口设备品牌")
    private String brand;
    @ApiModelProperty(notes = "LAN口设备型号")
    private String model;
//    private List<Property> properties;
   @ApiModelProperty(notes = "设备属性")
    private Map<String,String> properties;
    private List<Variant> variantList;
}
